﻿#Region "IMPORTS"

Imports System.Collections.Generic

#End Region

Public Interface IDAO(Of MODELO As IModelo)

#Region "ASSINATURA DOS METOTOS"

    Function Insert(ByVal modelo As MODELO) As MODELO

    Sub Update(ByVal modelo As MODELO)

    Sub Delete(ByVal modelo As MODELO)

    Function GetById(ByVal id As Integer) As MODELO

    Function GetAll() As IList(Of MODELO)

    Function FindUnique(ByVal NHQL As String) As Object 

    Function Find(ByVal NHQL As String) As IList(Of MODELO)

    Function Search(ByVal condicoes As IList(Of Condicao)) As IList(Of MODELO)

    Sub ValidarDelete(ByVal modelo As MODELO)

    Sub ValidarUpdate(ByVal modelo As MODELO)

    Sub ValidarInsert(ByVal modelo As MODELO)
    
#End Region

End Interface


